﻿#Область Шапка_Комментарий
////////////////////////////////////////////////////////////////////////////////
//
// Данный модуль содержит экспортные процедуры обработчиков событий конвертации 
// и предназначен для отладки правил обмена. 
// После отладки рекомендуется внести соответствующие исправления обработчиков
// в базе «Конвертация данных 2.0» и заново сформировать файл правил.
//
////////////////////////////////////////////////////////////////////////////////
// ИСПОЛЬЗУЕМЫЕ СОКРАЩЕНИЯ ИМЕН ПЕРЕМЕННЫХ (АББРЕВИАТУРЫ)
//
//  ПКО  - правило конвертации объектов
//  ПКС  - правило конвертации свойств объектов
//  ПКГС - правило конвертации группы свойств объектов
//  ПКЗ  - правило конвертации значений объектов
//  ПВД  - правило выгрузки данных
//  ПОД  - правило очистки данных
#Область Конвертация_Комментарий
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ КОНВЕРТАЦИИ (ГЛОБАЛЬНЫЕ)
#Область ПКО_Комментарий
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ КОНВЕРТАЦИИ ОБЪЕКТОВ
#Область ПКС_Комментарий
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ КОНВЕРТАЦИИ СВОЙСТВ И ГРУПП СВОЙСТВ ОБЪЕКТОВ
#Область ПВД_Комментарий
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ ВЫГРУЗКИ ДАННЫХ
#Область ПОД_Комментарий
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ ОЧИСТКИ ДАННЫХ
#Область Предупреждение_Комментарий
////////////////////////////////////////////////////////////////////////////////
//                             ВНИМАНИЕ 
//            ИЗМЕНЯТЬ КОД В ЭТОМ БЛОКЕ (НИЖЕ) ЗАПРЕЩЕНО!
////////////////////////////////////////////////////////////////////////////////
#Область ОбщиеПроцедурыФункции_Комментарий
////////////////////////////////////////////////////////////////////////////////
// ВЫЗОВ ОБЩИХ ПРОЦЕДУР И ФУНКЦИЙ
#Область ПеременныеОбработки_Комментарий
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ ОБРАБОТКИ
#Область Алгоритмы_Комментарий
////////////////////////////////////////////////////////////////////////////////
// АЛГОРИТМЫ
#Область Конструктор_Комментарий
////////////////////////////////////////////////////////////////////////////////
// КОНСТРУКТОР И ДЕСТРУКТОР ОБРАБОТКИ

#Область ПеременныеОбработки
////////////////////////////////////////////////////////////////////////////////
// ВСПОМОГАТЕЛЬНЫЕ ПЕРЕМЕННЫЕ МОДУЛЯ ДЛЯ НАПИСАНИЯ АЛГОРИТМОВ (ОБЩИЕ ДЛЯ ВЫГРУЗКИ И ЗАГРУЗКИ)

Перем Параметры;
Перем Правила;
Перем Алгоритмы;
Перем Запросы;
Перем ТаблицаПравилВыгрузки;
Перем ТаблицаНастройкиПараметров;
Перем УзелДляОбмена; // только для on-line обмена
Перем ОбщиеПроцедурыФункции;
Перем ДатаНачала;
Перем ДатаОкончания;
Перем ДатаВыгрузкиДанных; // только для on-line обмена
Перем КомментарийПриВыгрузкеДанных;
Перем КомментарийПриЗагрузкеДанных;


////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ ОБРАБОТОК ОБМЕНА (ОБЩИЕ ДЛЯ ВЫГРУЗКИ И ЗАГРУЗКИ)

Перем одТипСтрока;                // Тип("Строка")
Перем одТипБулево;                // Тип("Булево")
Перем одТипЧисло;                 // Тип("Число")
Перем одТипДата;                  // Тип("Дата")
Перем одТипХранилищеЗначения;     // Тип("ХранилищеЗначения")
Перем одТипДвоичныеДанные;        // Тип("ДвоичныеДанные")
Перем одТипВидДвиженияНакопления; // Тип("ВидДвиженияНакопления")
Перем одТипУдалениеОбъекта;       // Тип("УдалениеОбъекта")
Перем одТипВидСчета;			  // Тип("ВидСчета")
Перем одТипТип;			  		  // Тип("Тип")
Перем одТипСоответствие;		  // Тип("Соответствие")

Перем одТипУзлаXML_КонецЭлемента;
Перем одТипУзлаXML_НачалоЭлемента;
Перем одТипУзлаXML_Текст;

Перем ЗначениеПустаяДата;

#Область Конструктор_ТелоПроцедуры
ОбщиеПроцедурыФункции      = Владелец;
Параметры                  = Владелец.Параметры;
Запросы                    = Владелец.Запросы;
Правила                    = Владелец.Правила;
ТаблицаПравилВыгрузки      = Владелец.ТаблицаПравилВыгрузки;
ТаблицаНастройкиПараметров = Владелец.ТаблицаНастройкиПараметров;

КомментарийПриВыгрузкеДанных = Владелец.КомментарийПриВыгрузкеДанных;
КомментарийПриЗагрузкеДанных = Владелец.КомментарийПриЗагрузкеДанных;


//переменная для универсального обмена
Попытка
	ДатаНачала = Владелец.ДатаНачала;
Исключение
КонецПопытки;

//переменная для универсального обмена
Попытка
	ДатаОкончания = Владелец.ДатаОкончания;
Исключение
КонецПопытки;

//переменная для on-line обмена
Попытка
	ДатаВыгрузкиДанных = Владелец.ДатаВыгрузкиДанных;
Исключение
КонецПопытки;

//переменная для on-line обмена
Попытка
	УзелДляОбмена = Владелец.УзелДляОбмена;
Исключение
КонецПопытки;

// Типы
одТипСтрока                = Тип("Строка");
одТипБулево                = Тип("Булево");
одТипЧисло                 = Тип("Число");
одТипДата                  = Тип("Дата");
одТипХранилищеЗначения     = Тип("ХранилищеЗначения");
одТипДвоичныеДанные        = Тип("ДвоичныеДанные");
одТипВидДвиженияНакопления = Тип("ВидДвиженияНакопления");
одТипУдалениеОбъекта       = Тип("УдалениеОбъекта");
одТипВидСчета			   = Тип("ВидСчета");
одТипТип                   = Тип("Тип");
одТипСоответствие          = Тип("Соответствие");

ЗначениеПустаяДата		   = Дата('00010101');

// Типы узлов xml
одТипУзлаXML_КонецЭлемента  = ТипУзлаXML.КонецЭлемента;
одТипУзлаXML_НачалоЭлемента = ТипУзлаXML.НачалоЭлемента;
одТипУзлаXML_Текст          = ТипУзлаXML.Текст;

#Область Конструктор_ТелоПроцедуры_ПроцедурныйВызовАлгоритмов
Алгоритмы = Новый Структура;

#Область Конструктор_ТелоПроцедуры_ИнтеграцияКодаАлгоритмов
Алгоритмы = Владелец.Алгоритмы;

#Область Конструктор_ТелоПроцедуры_НеИспользоватьОтладкуАлгоритмов
Алгоритмы = Владелец.Алгоритмы;

#Область Деструктор
Процедура Деструктор() Экспорт
	
	ОбщиеПроцедурыФункции = Неопределено;
	
КонецПроцедуры

#Область ОбщиеПроцедурыФункции
// Производит выгрузку объекта в соответствии с указанным правилом конвертации
//
// Параметры:
//  Источник				 - произвольный источник данных
//  Приемник				 - xml-узел объекта приемника
//  ВходящиеДанные			 - произвольные вспомогательные данные, передаваемые правилу
//                             для выполнения конвертации
//  ИсходящиеДанные			 - произвольные вспомогательные данные, передаваемые правилам
//                             конвертации свойств
//  ИмяПКО					 - имя правила конвертации, согласно которому осуществляется выгрузка
//  УзелСсылки				 - xml-узел ссылки объекта приемника
//  ТолькоПолучитьУзелСсылки - если Истина, то выгрузка объекта не производится, только формируется
//                             xml-узел ссылки
//  ПКО                      - ссылка на правило конвертации
//
// Возвращаемое значение:
//  xml-узел ссылки или значение приемника
//
Функция ВыгрузитьПоПравилу(Источник					= Неопределено,
						   Приемник					= Неопределено,
						   ВходящиеДанные			= Неопределено,
						   ИсходящиеДанные			= Неопределено,
						   ИмяПКО					= "") Экспорт
						   
	Возврат ОбщиеПроцедурыФункции.ВыгрузитьПоПравилу(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ИмяПКО);
	
КонецФункции

// Создает новый xml-узел
// Функция может быть использована в обработчиках событий, программный код 
// которых хранится в правила обмена данными. Вызывается методом Выполнить()
//
// Параметры: 
//  Имя            - Имя узла
//
// Возвращаемое значение:
//  Объект нового xml-узла
//
Функция СоздатьУзел(Имя) Экспорт

	Возврат ОбщиеПроцедурыФункции.СоздатьУзел(Имя); 

КонецФункции

// Добавляет новый xml-узел к указанному узлу-родителю
// Функция может быть использована в обработчиках событий, программный код 
// которых хранится в правила обмена данными. Вызывается методом Выполнить()
// Сообщение "Не обнаружено ссылок на функцию" при проверке конфигурации 
// не является ошибкой проверки конфигурации
//
// Параметры: 
//  УзелРодитель   - xml-узел-родитель
//  Имя            - имя добавляемого узла
//
// Возвращаемое значение:
//  Новый xml-узел, добавленный к указанному узлу-родителю
//
Функция ДобавитьУзел(УзелРодитель, Имя) Экспорт

	Возврат ОбщиеПроцедурыФункции.ДобавитьУзел(УзелРодитель, Имя); 

КонецФункции

// Копирует указанный xml-узел
// Функция может быть использована в обработчиках событий, программный код 
// которых хранится в правила обмена данными. Вызывается методом Выполнить()
// Сообщение "Не обнаружено ссылок на функцию" при проверке конфигурации 
// не является ошибкой проверки конфигурации
//
// Параметры: 
//  Узел           - копируемый узел
//
// Возвращаемое значение:
//  Новый xml - копия указанного узла
//
Функция КопироватьУзел(Узел) Экспорт

	Возврат ОбщиеПроцедурыФункции.КопироватьУзел(Узел); 
	
КонецФункции 

// Устанавливает значение параметра "Загрузка" для свойства объекта "ОбменДанными".
//
// Параметры:
//  Объект   - объект, для которого устанавливается свойство
//  Значение - значение устанавливаемого свойства "Загрузка"
// 
Процедура УстановитьОбменДаннымиЗагрузка(Объект, Значение = Истина) Экспорт

	ОбщиеПроцедурыФункции.УстановитьОбменДаннымиЗагрузка(Объект, Значение);
	
КонецПроцедуры

// Устанавливает атрибут указанного xml-узла
//
// Параметры: 
//  Узел           - xml-узел
//  Имя            - имя атрибута
//  Значение       - устанавливаемое значение
//
Процедура УстановитьАтрибут(Узел, Имя, Значение) Экспорт
	
	ОбщиеПроцедурыФункции.УстановитьАтрибут(Узел, Имя, Значение);
	
КонецПроцедуры

// Подчиняет xml-узел указанному узлу-родителю
//
// Параметры: 
//  УзелРодитель   - xml-узел-родитель
//  Узел           - подчиняемый узел 
//
Процедура ДобавитьПодчиненный(УзелРодитель, Узел) Экспорт

	ОбщиеПроцедурыФункции.ДобавитьПодчиненный(УзелРодитель, Узел);
		
КонецПроцедуры

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ РАБОТЫ С ОБЪЕКТОМ XMLЧтение

// Осуществляет запись элемента и его значения в указанный объект
//
// Параметры:
//  Объект         - объект типа XMLЗапись
//  Имя            - Строка. Имя элемента
//  Значение       - Значение элемента
// 
Процедура одЗаписатьЭлемент(Объект, Имя, Значение="") Экспорт

	ОбщиеПроцедурыФункции.одЗаписатьЭлемент(Объект, Имя, Значение);
	
КонецПроцедуры

// Читает значение атрибута по имени из указанного объекта, приводит значение
// к указанному примитивному типу
//
// Параметры:
//  Объект      - объект типа XMLЧтение, спозиционированный на начале элемента,
//                атрибут которого требуется получить
//  Тип         - Значение типа Тип. Тип атрибута
//  Имя         - Строка. Имя атрибута
//
// Возвращаемое значение:
//  Значение атрибута полученное по имени и приведенное к указанному типу
// 
Функция одАтрибут(Объект, Тип, Имя) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одАтрибут(Объект, Тип, Имя);
		
КонецФункции
 
// Пропускает узлы xml до конца указанного элемента (по умолчанию текущего)
//
// Параметры:
//  Объект   - объект типа XMLЧтение
//  Имя      - имя узла, до конца которого пропускаем элементы
// 
Процедура одПропустить(Объект, Имя = "") Экспорт
	
	ОбщиеПроцедурыФункции.одПропустить(Объект, Имя);
	
КонецПроцедуры

// Читает текст элемента и приводит значение к указанному типу
//
// Параметры:
//  Объект           - объект типа XMLЧтение, из которого осуществляется чтение
//  Тип              - тип получаемого значения
//  ИскатьПоСвойству - для ссылочных типов может быть указано свойство, по которому
//                     следует искать объект: "Код", "Наименование", <ИмяРеквизита>, "Имя" (предопределенного значения)
//
// Возвращаемое значение:
//  Значение xml-элемента, приведенное к соответствующему типу
//
Функция одЗначениеЭлемента(Объект, Тип, ИскатьПоСвойству = "", ОбрезатьСтрокуСправа = Истина) Экспорт

	Возврат ОбщиеПроцедурыФункции.одЗначениеЭлемента(Объект, Тип, ИскатьПоСвойству, ОбрезатьСтрокуСправа);

КонецФункции

////////////////////////////////////////////////////////////////////////////////
// РАБОТА С ДАННЫМИ

// Возвращает строку - имя переданного значения перечисления.
// Функция может быть использована в обработчиках событий, программный код 
// которых хранится в правила обмена данными. Вызывается методом Выполнить()
// Сообщение "Не обнаружено ссылок на функцию" при проверке конфигурации 
// не является ошибкой проверки конфигурации
//
// Параметры:
//	Значение - значение перечисления
//
// Возвращаемое значение:
//	Строка - имя переданного значения перечисления.
//
Функция одИмяЗначенияПеречисления(Значение) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одИмяЗначенияПеречисления(Значение);
	
КонецФункции

// Определяет заполнено ли переданное значение
//
// Параметры:
//	Значение - значение, заполнение которого надо проверить
//
// Возвращаемое значение:
//	Истина - значение не заполнено, ложь - иначе.
//
Функция одПустое(Значение, ЭтоNULL=Ложь) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одПустое(Значение, ЭтоNULL);
	
КонецФункции

// Возвращает объект ОписаниеТипов, содержащий указанный тип.
//
// Параметры:
//	ЗначениеТипа - строка с именем типа или значение типа Тип.
//
// Возвращаемое значение:
//	ОписаниеТипов
//
Функция одОписаниеТипа(ЗначениеТипа) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одОписаниеТипа(ЗначениеТипа);
	
КонецФункции

// Возвращает пустое (дефолтное) значение указанного типа
//
// Параметры:
//	Тип - строка с именем типа или значение типа Тип.
//
// Возвращаемое значение:
//	Пустое значение указанного типа.
// 
Функция одПолучитьПустоеЗначение(Тип) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одПолучитьПустоеЗначение(Тип);
	
КонецФункции

// Осуществляет простой поиск объекта информационной базы по указанному свойству.
//
// Параметры:
//  Менеджер       - менеджер искомого объекта;
//  Свойство       - свойство, по которому осуществляем поиск: Имя, Код, 
//                   Наименование или Имя индексируемого реквизита;
//  Значение       - значение свойства, по которому ищем объект.
//
// Возвращаемое значение:
//  Найденный объект информационной базы.
//
Функция одНайтиОбъектПоСвойству(Менеджер, Свойство, Значение,
	НайденныйОбъектПоУникальномуИдентификатору = Неопределено,
	ОбщаяСтруктураСвойств = Неопределено, ОбщиеСвойстваПоиска = Неопределено,
	РежимПоискаОсновногоОбъекта = Истина,
	СтрокаЗапросаПоискаПоУникальномуИдентификатору = "") Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одНайтиОбъектПоСвойству(Менеджер, Свойство, Значение,
		НайденныйОбъектПоУникальномуИдентификатору,
		ОбщаяСтруктураСвойств, ОбщиеСвойстваПоиска,
		РежимПоискаОсновногоОбъекта, СтрокаЗапросаПоискаПоУникальномуИдентификатору);
	
КонецФункции

// Осуществляет простой поиск объекта информационной базы по указанному свойству.
//
// Параметры:
//	Стр - Строка - значение свойства, по которому осуществляется поиск объекта;
//	Тип - тип искомого объекта;
//	Свойство - Строка - имя свойства, по-которому ищем объект.
//
// Возвращаемое значение:
//	Найденный объект информационной базы
//
Функция одПолучитьЗначениеПоСтроке(Стр, Тип, Свойство = "") Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одПолучитьЗначениеПоСтроке(Стр, Тип, Свойство);
	
КонецФункции

// Возвращает строковое представление типа значения 
//
// Параметры: 
//  ЗначениеИлиТип - произвольное значение или значение типа тип
//
// Возвращаемое значение:
//  Строка - строковое представление типа значения
//
Функция одТипЗначенияСтрокой(ЗначениеИлиТип) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одТипЗначенияСтрокой(ЗначениеИлиТип);
	
КонецФункции

// Возвращает XML представление объекта ОписаниеТипов
// Функция может быть использована в обработчиках событий, программный код 
// которых хранится в правила обмена данными. Вызывается методом Выполнить()
// Сообщение "Не обнаружено ссылок на функцию" при проверке конфигурации 
// не является ошибкой проверки конфигурации
//
// Параметры:
//  ОписаниеТипов  - объект ОписаниеТипов, XML представление которого требуется получить
//
// Возвращаемое значение:
//  Строка - XML представление переданного объекта ОписаниеТипов
//
Функция одПолучитьXMLПредставлениеОписанияТипов(ОписаниеТипов) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одПолучитьXMLПредставлениеОписанияТипов(ОписаниеТипов);
	
КонецФункции

////////////////////////////////////////////////////////////////////////////////
// РАБОТА СО СТРОКАМИ

// Разбирает строку на две части: до подстроки разделителя и после.
//
// Параметры:
//	Стр          - разбираемая строка;
//	Разделитель  - подстрока-разделитель:
//  Режим        - 0 - разделитель в возвращаемые подстроки не включается;
//                 1 - разделитель включается в левую подстроку;
//                 2 - разделитель включается в правую подстроку.
//
// Возвращаемое значение:
//	Правая часть строки - до символа-разделителя.
// 
Функция ОтделитьРазделителем(Стр, Знач Разделитель, Режим=0) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.ОтделитьРазделителем(Стр, Разделитель, Режим);
	
КонецФункции

// Преобразует значения из строки в массив, используя указанный разделитель
//
// Параметры:
//	Стр            - Разбираемая строка
//	Разделитель    - подстрока разделитель
//
// Возвращаемое значение:
//	Массив значений
// 
Функция МассивИзСтроки(Знач Стр, Разделитель=",") Экспорт

	Возврат ОбщиеПроцедурыФункции.МассивИзСтроки(Стр, Разделитель);

КонецФункции

// Возвращает строку номера без символьных префиксов
// Например:
//	ПолучитьСтроковыйНомерБезПрефиксов("УТ0000001234") = "0000001234"
//
// Параметры:
//	Номер - Строка - номер, из которого необходимо вычислить результат функции
// 
// Возвращаемое значение:
//	Строка номера без символьных префиксов
//
Функция ПолучитьСтроковыйНомерБезПрефиксов(Номер) Экспорт
	
	Возврат ОбщиеПроцедурыФункции.ПолучитьСтроковыйНомерБезПрефиксов(Номер);
	
КонецФункции

// Разбирает строку, выделяя из нее префикс и числовую часть.
//
// Параметры:
//  Стр            - Строка. Разбираемая строка;
//  ЧисловаяЧасть  - Число. Переменная, в которую возвратится числовая часть строки;
//  Режим          - Строка. Если "Число", то возвратит числовую часть, иначе - префикс.
//
// Возвращаемое значение:
//  Префикс строки
//
Функция ПолучитьПрефиксЧислоНомера(Знач Стр, ЧисловаяЧасть = "", Режим = "") Экспорт
	
	Возврат ОбщиеПроцедурыФункции.ПолучитьПрефиксЧислоНомера(Стр, ЧисловаяЧасть, Режим);
	
КонецФункции

// Приводит номер (код) к требуемой длине. При этом выделяется префикс
// и числовая часть номера, остальное пространство между префиксом и
// номером заполняется нулями.
// Функция может быть использована в обработчиках событий, программный код 
// которых хранится в правила обмена данными. Вызывается методом Выполнить()
// Сообщение "Не обнаружено ссылок на функцию" при проверке конфигурации 
// не является ошибкой проверки конфигурации
//
// Параметры:
//  Стр          - преобразовываемая строка;
//  Длина        - требуемая длина строки.
//
// Возвращаемое значение:
//  Строка       - код или номер, приведенная к требуемой длине.
// 
Функция ПривестиНомерКДлине(Знач Стр, Длина, ДобавлятьНулиЕслиДлинаНеМеньшеТекущейДлиныНомера = Истина,
	Префикс = "") Экспорт
	
	Возврат ОбщиеПроцедурыФункции.ПривестиНомерКДлине(Стр, Длина,
		ДобавлятьНулиЕслиДлинаНеМеньшеТекущейДлиныНомера, Префикс);
	
КонецФункции

// Добавляет к префиксу номера или кода подстроку
// Функция может быть использована в обработчиках событий, программный код 
// которых хранится в правила обмена данными. Вызывается методом Выполнить()
// Сообщение "Не обнаружено ссылок на функцию" при проверке конфигурации 
// не является ошибкой проверки конфигурации
//
// Параметры:
//  Стр          - Строка. Номер или код;
//  Добавок      - добавляемая к префиксу подстрока;
//  Длина        - требуемая результирующая длина строки;
//  Режим        - "Слева" - подстрока добавляется слева к префиксу, иначе - справа.
//
// Возвращаемое значение:
//  Строка       - номер или код, к префиксу которого добавлена указанная подстрока.
//
Функция ДобавитьКПрефиксу(Знач Стр, Добавок = "", Длина = "", Режим = "Слева") Экспорт

	Возврат ОбщиеПроцедурыФункции.ДобавитьКПрефиксу(Стр, Добавок, Длина, Режим); 

КонецФункции

// Дополняет строку указанным символом до указанной длины.
//
// Параметры: 
//  Стр          - дополняемая строка;
//  Длина        - требуемая длина результирующей строки;
//  Чем          - символ, которым дополняется строка.
//
// Возвращаемое значение:
//  Строка, дополненная указанным символом до указанной длины.
//
Функция одДополнитьСтроку(Стр, Длина, Чем = " ") Экспорт
	
	Возврат ОбщиеПроцедурыФункции.одДополнитьСтроку(Стр, Длина, Чем);

КонецФункции

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ФАЙЛОМ ОБМЕНА

// Сохраняет в файл указанный xml-узел
//
// Параметры:
//  Узел           - xml-узел, сохраняемый в файл
//
Процедура ЗаписатьВФайл(Узел) Экспорт

	ОбщиеПроцедурыФункции.ЗаписатьВФайл(Узел);

КонецПроцедуры

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ПРАВИЛАМИ ОБМЕНА

// Осуществляет поиск правила конвертации по имени или в соответствии с типом
// переданного объекта
//
// Параметры:
//  Объект         - Объект-источник, для которого ищем правило конвертации
//  ИмяПравила     - имя правила конвертации
//
// Возвращаемое значение:
//  Ссылка на правило конвертации (строка в таблице правил)
// 
Функция НайтиПравило(Объект, ИмяПравила="") Экспорт

	Возврат ОбщиеПроцедурыФункции.НайтиПравило(Объект, ИмяПравила);

КонецФункции

////////////////////////////////////////////////////////////////////////////////
//

// Выполняет передачу строки данных для загрузки в базе-приемнике
//
// Параметры:
//	ИнформацияДляЗаписиВФайл - Строка (текст XML) - строка с данными
//	СтрокаОшибкиВБазеПриемнике - Строка - содержит описание ошибки при загрузке в базе-приемнике
// 
Процедура ПередатьИнформациюОЗаписиВПриемник(ИнформацияДляЗаписиВФайл, СтрокаОшибкиВБазеПриемнике = "") Экспорт
	
	ОбщиеПроцедурыФункции.ПередатьИнформациюОЗаписиВПриемник(ИнформацияДляЗаписиВФайл, СтрокаОшибкиВБазеПриемнике);
	
КонецПроцедуры

// Выполняет запись имени, типа и значения параметра в файл сообщения обмена для передачи в базу-приемник
//
Процедура ПередатьОдинПараметрВПриемник(Имя, ИсходноеЗначениеПараметра, ПравилоКонвертации = "") Экспорт
	
	ОбщиеПроцедурыФункции.ПередатьОдинПараметрВПриемник(Имя, ИсходноеЗначениеПараметра, ПравилоКонвертации);
	
КонецПроцедуры

// Передает все дополнительные параметры в приемник
//
Процедура ПередатьДополнительныеПараметрыВПриемник() Экспорт
	
	ОбщиеПроцедурыФункции.ПередатьДополнительныеПараметрыВПриемник();
	
КонецПроцедуры
